#include<iostream>
#include<algorithm>
#include<queue>

using namespace std;
//class Solution {
//public:
//    int findKthLargest(vector<int>& nums, int k) {
//		priority_queue<int,vector<int>,greater<int>) que(nums.begin(),nums.end());
//		while (k)
//		{
//			que.pop();
//		}
//
//		return que.top();
//
//
//    }
//};


//int main()
//{
//	priority_queue<int> que;
//
//
//
//	return 0;
//}

//template<typename Type>
//Type Max(const Type& a, const Type& b)
//
//{
//
//	cout << "This is Max<Type>" << endl;
//
//	return a > b ? a : b;
//
//}
//
//template<>
//
//int Max<int>(const int& a, const int& b)
//
//{
//
//	cout << "This is Max<int>" << endl;
//
//	return a > b ? a : b;
//
//}
//
//template<>
//
//char Max<char>(const char& a, const char& b)
//
//{
//
//	cout << "This is Max<char>" << endl;
//
//	return a > b ? a : b;
//
//}
//
//int Max(const int& a, const int& b)
//
//{
//
//	cout << "This is Max" << endl;
//
//	return a > b ? a : b;
//
//}
//
//int main()
//
//{
//
//	Max(10, 20);
//
//	Max(12.34, 23.45);
//
//	Max('A', 'B');
//
//	Max<int>(20, 30);
//
//	return 0;
//}

class A { public: virtual void test(float a) { cout << a; } };
class B :public A { public: void test(float b) { cout << b<<"555"; } };
void main()
{
	A* a = new A;
	B* b = new B;
	a = b; a->test(1.1);
}